


n= 803784422494351370167592813131170042963345555482165647967956492620962013217420982867541509298616048143427109418694118101975886429334668184599704528208350169952501368083389428121409963959588217864342810533458439012893022079292471592661309119780597567697815158389955245109531282084813514028430538452099738972947224500649814505038473612255356532480657940241873476885787144581357503919901873583698351869250700204237754589245567780940856354940496837340040687563379829
e= 65537
c= 722017731135335684812533874316187718743706632199941243431769554136754029281055669735578867827323998548169289719376740140160936003956566363167166824922752528441908326090817549756162297888394949582370013331882631781399593109816859055804911828681126759927831446042099755582145831437135202976121938918737684544485525593475533613090869714007561291215973309637975266660571055061682948001090881350474380455040376308867990063835790807929489677357608555376828089153279166
h= 526035042407827638767080948166756275192234386036611413820164089459256208443375647999045361445094296471369786663502664905640284076732752058952339829192647660913173800383398192895762385668985425950849805263399350233938962124460176299634862731357603442085158082699690846052498238666332645910480343340312000475675630022786935637468414155542306718730229191424259198734396956525322408893309190588908494415608371989374765463898410083731743334569876949949741279177413314
import libnum

# p=libnum.gcd(e**e*h-1,n)
p=libnum.gcd(pow(e,e,n)*h-1,n)
print(p)
q=n//p**2
print(n==p*p*q)
d=libnum.invmod(e,p-1)
print(d)
m=pow(c,d,p)
print(libnum.n2s(m))